Sensing relative position from a wireless transceiver

ABSTRACT

Disclosed is an apparatus, system and method for determining a location of a mobile device based on a location of a wireless network node, a distance between the wireless network node and the mobile device, and a bearing from the wireless network node to the mobile device, wherein the bearing is determined based on a directional signal and magnetometer measurements.

RELATED APPLICATIONS

Not applicable.

FIELD

This disclosure relates generally to apparatus and methods for locationdetermination and more particularly to determining the location of amobile device relative to a wireless network node.

BACKGROUND

Today, telecommunication signals are commonly transmitted using cellularsystems. Cellular systems comprise groups of cellular base stations,each of which is used to transmit signals to and receive signals from amobile device, such as a cellular telephone, laptop computer or othersuch mobile device. In addition to transmitting a variety of voiceand/or data signals between the mobile device and the base station,cellular systems are often used to locate such mobile devices, both foremergencies and non-emergencies. For example, in the case of a call tothe emergency number 911, it is frequently helpful to determine thelocation of the caller so that assistance can be dispatched to thecaller immediately and without requiring that the caller know his/herlocation. In non-emergency cases, it is frequently desirable todetermine the location of a mobile device to provide services such asroadside assistance, turn-by-turn driving directions, conciergeservices, location-specific billing rates and location-specificadvertising, among others. The location of the mobile device istypically determined through trilateration, a process of establishingdistance to three or more known reference points through the measurementof elapsed time of a non-directional signal between the mobile deviceand each known reference point and then plotting the unique intersectionof those three or more solutions.

The CDMA protocol operates using a variety of channels. A Forward CDMAchannel carries user and signaling traffic, a pilot signal, and overheadinformation, from a base station to a mobile device. The pilot andoverhead signals establish the system timing and station identity. Thepilot channel also provides a signal strength reference that is used inthe mobile-assisted handoff (MAHO) process. All base stations have thesame pilot waveform and are distinguished from one another only by thephase of the pilot signal.

Various techniques have been used to determine the location of a mobiledevice. For example, Global Navigation Satellite Systems (GNSS), such asthe Global Positioning System (GPS), the GLONASS owned by the RussianFederation Government, and Galileo Radio Navigation Satellite System,are satellite systems that provide users equipped with a GNSS receiverthe ability to determine their location anywhere in the world. A GNSSreceiver normally determines its location by measuring the relativetimes of arrival of signals transmitted simultaneously from multipleGNSS satellites. In GNSS-deprived areas, such as indoors, under a heavycanopy and near tall buildings, GNSS equipped mobile devices fail toacquire signals from any or from a sufficient number of GNSS satellitesto provide an accurate location.

In GNSS-deprived areas, another well-known position location techniquesuch as Advanced Forward Link Trilateration (AFLT) may be used. The AFLTtechnique is based on measuring time-of-arrival differences betweenterrestrial base station pilot signals. In the case of a CDMA wirelessnetwork, these measurements are called pilot phase measurements.

It is possible that at a particular location a sufficient number of GNSSsatellites and multiple CDMA pilot signals to calculate a fix are notavailable or the calculated location does not provide sufficientaccuracy. Position determination capability is compromised at theselocations.

SUMMARY OF THE DISCLOSURE

Disclosed is an apparatus, system and method for determining a locationof a mobile device based on a location of a wireless network node, adistance between the wireless network node and the mobile device, and abearing from the wireless network node to the mobile device, wherein thebearing is determined based on a directional signal and magnetometer andaccelerometer measurements. The direction signal may be a time-dependentdirectional signal and/or a direction-dependent directional signal. Thebearing may be determined based on a time of a maximum signal isreceived at the mobile device. Alternatively, bearing may be determinedbased on a predetermined relationship or formula between time and thetransmit bearing. For example, the bearing may be determined at thewireless network node based on a time determined at the mobile device.Such time determination may require a synchronized time base.Alternatively, the bearing may be determined at the mobile device basedon information in the directional signal such as an announced bearing.In addition, a reference bearing may be used in determining the bearing,wherein the reference bearing is determined based on magnetometer andaccelerometer measurements. If at least two network nodes are present,the location may also be determined through the intersection of vectorsfrom at least two wireless network nodes.

Disclosed is an apparatus, system and method for determining a locationof a mobile device comprising: receiving, at the mobile device, adirectional signal; determining a bearing based on a maximum signalreceived at the mobile device; and determining the location of themobile device based on the bearing. The location may be computed by themobile device. In this case, the mobile device computes its locationbased on the bearing. Alternatively, the location may be computed in awireless network node, which computes the mobile device's location basedon signals received from the mobile device. The wireless network nodemay comprise: means for transmitting a directional signal from awireless network node; and means for computing the location of themobile device and means for transmitting to the mobile device thecomputed location.

Also disclosed is a mobile device comprising a processor and memory, anda computer-readable medium including software instructions to: receive,at the mobile device, a directional signal; determine a bearing based ona maximum signal received at the mobile device; and receive, at themobile device and from a wireless network node, the location of themobile device determined based on the bearing.

Also disclosed is an apparatus, system and method for determining alocation of a mobile device based on a bearing, a distance and alocation with respect to a single wireless network node, oralternatively, two bearings and two locations to two wireless networknodes, or alternatively, one bearing to a first wireless network node,one distance to a second wireless network node and locations of thewireless network nodes, wherein the bearings are determined based on adirectional signal.

It is understood that other aspects will become readily apparent tothose skilled in the art from the following detailed description,wherein it is shown and described various aspects by way ofillustration. The drawings and detailed description are to be regardedas illustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a wireless network node.

FIG. 2 shows a block diagram of a mobile device.

FIGS. 3, 4, 5, 6 and 7 illustrate references systems for bodypositioning and measurements.

FIGS. 8, 9A and 9B show time-dependent directional signals, inaccordance with some embodiments of the present invention.

FIG. 10 shows a correlation of various positioning measurements, inaccordance with some embodiments of the present invention.

FIG. 11 shows an example table containing times and heading values for atime-dependent directional signal, in accordance with some embodimentsof the present invention.

FIG. 12 shows a correlation of various parameters and variables usedduring position location, in accordance with some embodiments of thepresent invention.

FIG. 13 illustrates one possible flow of data used in determining alocation of a mobile device based on a time-dependent directionalsignal, measurements from sensors and data stored in memory, inaccordance with some embodiments of the present invention.

FIGS. 14 and 15 show flow diagrams for determining a location of amobile device, in accordance with some embodiments of the presentinvention.

FIGS. 16A, 16B, 16C and 16D illustrate process and signaling flowbetween a wireless network node and a mobile device, in accordance withsome embodiments of the present invention.

FIGS. 17 and 18A-D illustrate applications of triangulation, inaccordance with some embodiments of the present invention.

DETAILED DESCRIPTION

The detailed description set forth below in connection with the appendeddrawings is intended as a description of various aspects of the presentdisclosure and is not intended to represent the only aspects in whichthe present disclosure may be practiced. Each aspect described in thisdisclosure is provided merely as an example or illustration of thepresent disclosure, and should not necessarily be construed as preferredor advantageous over other aspects. The detailed description includesspecific details for the purpose of providing a thorough understandingof the present disclosure. However, it will be apparent to those skilledin the art that the present disclosure may be practiced without thesespecific details. In some instances, well-known structures and devicesare shown in block diagram form in order to avoid obscuring the conceptsof the present disclosure. Acronyms and other descriptive terminologymay be used merely for convenience and clarity and are not intended tolimit the scope of the disclosure.

FIG. 1 shows a block diagram of a wireless network node 100. Thewireless network node 100 may be a base station, an access point or thelike. Typically, the wireless network node 100 is portable and may beinstalled at uncertain horizontal and vertical orientations.

The wireless network node 100 includes a processor 110 coupled to and tocoordinate interactions with a transceiver 120, memory 130, a clock 140,a magnetometer 150 and an accelerometer 160. In another embodiment, thewireless network node may exclude an accelerometer 160 and assume thatthe base of the unit is in a known orientation. For example, thewireless network node 100 may be mounted against a flat bottom orleveled along a flat side thereby automatically orienting the wirelessnetwork node 100 and eliminating a need for the accelerometer 160.

The processor 110 operates the transceiver 120 to communicate withmobile devices and a backend network (not shown). The transceiver 120includes a directional antenna allowing the wireless network node 100 tospatially discriminate its transmitted signal thereby producing atime-dependent directional signal. The memory 130 contains softwareinstructions or program code to execute methods described herein on theprocessor. These software instructions may be stored in RAM or ROM andalso on a computer-readable medium such as in flash memory, CD-ROM, DVDor other magnetic or optical media. The memory 130 may also containruntime data such as measurements received from sensors such as themagnetometer 150 and the accelerometer 160. The clock 140 providestiming for the processor 110. The processor 110 may be integrated withthe memory 130 and the clock 140 such that it is a single silicondevice.

The magnetometer 150 assists in determining an orientation of thewireless network node 100 in the horizontal plane and with respect tomagnetic north. Knowing the direction of magnetic north allows theprocessor 110 to convert a relative bearing between the wireless networknode 100 and a mobile device into an absolute bearing. If the wirelessnetwork node is manually oriented with respect to north, themagnetometer 150 may be eliminated.

The accelerometer 160 is optionally included in the wireless networknode 100 and helps to determine a vertical orientation of the body ofthe wireless network node 100. That is, the accelerometer 160 may beused to determine an up and a down orientation the wireless network node100. The accelerometer 160 may also be used to determine whether thewireless network node 100 is in motion or at rest. As used below, anorientation of the body inherently describes an orientation of theantenna or antennas of the wireless network node 100.

FIG. 2 shows a block diagram of a mobile device 200. The mobile device200 includes a processor 210 coupled to and coordinates interactionswith a transceiver 220, memory 230 and a clock 240. The processor 210operates the transceiver 220 to communicate with the wireless networknode 100. The memory 130 contains software instructions or program codeto execute methods described herein on the processor. These softwareinstructions may be stored in RAM or ROM and also on a computer-readablemedium such as in flash memory, CD-ROM, DVD or other magnetic or opticalmedia. The clock 140 provides timing for the processor 110. Theprocessor 110 may be integrated with the memory 130 and the clock 140into a single silicon device.

FIGS. 3, 4, 5, 6 and 7 illustrate references systems for bodypositioning and measurements. FIG. 3 shows a reference system withrespect to a physical location of the wireless network node 100. Thisreference system is referred to as a local reference system (LRS) andhas a vertical access and two cardinal direction axes. The verticalaccess (0,0,1) represents a direction of gravity. The two cardinaldirections define a horizontal plane perpendicular to the verticalaccess and include a true north axis (1,0,0) and an east axis (0,1,0).Magnetic north N_(MAG) falls within the horizontal plane and is offsetfrom true north N_(TRUE) by an angle referred to as magnetic declination6.

FIG. 4 shows a reference system with respect to the body of the wirelessnetwork node 100. This reference system is referred to as a bodyreference system (BRS) and is represented by X (1,0,0), Y (0,1,0) and Z(0,0,1) axes. Measurements from the magnetometer 150 and theaccelerometer 160 are generated with respect to the body referencesystem.

FIG. 5 shows an example relationship between the body reference system(BRS) and the local reference system (LRS). The wireless network node100 may use a rotation matrix to convert between the two referencesystems. The rotation matrix is determined based sensor data from themagnetometer 150 and accelerometer 160. To convert vectors between thereference systems, the wireless network node 100 may compute a rotationmatrix during initialization. First, the wireless network node 100senses its position in the BRS using its magnetometer 150 andaccelerometer 160. The magnetometer 150 provides a magnetic field vector(magnetic north plus an inclination) and the accelerometer 160 providesa vector parallel to gravity. Once a gravity vector is determined, amagnetic north N_(MAG) is determined as the component of the magneticfield vector that is perpendicular to the gravity vector. In essence,the magnetic inclination is removed from the magnetic field vectorthereby resulting in a magnetic north N_(MAG) vector.

FIG. 6 shows magnetometer and accelerometer vectors from themagnetometer 150 and accelerometer 160, respectively. The magnetometer150 senses a measured magnetic field relative to the body referencesystem as three measurements: M_(X), M_(Y) and M_(Z). In vector form,the magnetometer measurements may be written asM=(M_(X),M_(Y),M_(Z))_(BRS). The accelerometer 160 also provides threemeasurements: A_(X), A_(Y) and A_(Z), which may written as anaccelerometer vector A=(A_(X),A_(Y),A_(Z))_(BRS). Assuming the wirelessnetwork node 100 is at rest, vector A is parallel to gravity. Over time,the vector A may be examined to determine it is not changing andtherefore the wireless network node 100 is stationary. The vector Mfalls in a plane formed by vector A and magnetic north N_(MAG). In thelocal reference system, the accelerometer vector A=(0,0,G)_(LRS) and themagnetometer vector M=(M_(N),0,M_(G))_(LRS).

FIG. 7 illustrates the relationship between vector A, vector M andinclination θ. The figures shows the vector M decomposed into ahorizontal component M_(N)=(M_(N),0,0)_(LRS) and a vertical componentM_(G)=(0,0,M_(G))_(LRS). The vertical component M_(G) runs parallel withthe acceleration vector A. The magnetic inclination is defined as theangle θ formed between magnetic north M_(N)=(M_(N),0,0)_(LRS) and themagnetometer measurement vector M, where θ=tan⁻¹(M_(N)/M_(G)). Atinitialization, the wireless network node 100 computes the rotationmatrix by assuming M_(G) runs parallel with the acceleration vector Aand also assuming M_(N) points towards magnetic north N_(MAG).

FIGS. 8, 9A and 9B show time-dependent directional signals, inaccordance with some embodiments of the present invention.

In FIG. 8, a wireless network node 100 transmits a directional signal 30that is swept at various angles for reception by a mobile device 200. Insome embodiments, the directional signal 30 is a time-dependentdirectional signal. For example, the wireless network node 100 transmitsa directional signal 30 that is swept and includes a first directionalsignal 30-1 in a first direction (e.g., 240°) at a first time t₁, asecond directional signal 30-2 in a second direction (e.g., 270°) at asecond time t₂, and a third directional signal 30-3 in a third direction(e.g., 300°) at a third time t₃. The first, second and third directionalsignals 30-1, 30-2, 30-3 may be identical in all respects except thatthe signals are transmitted in different directions and at differenttimes. In some embodiments, the directional signal 30 is adirection-dependent signal. That is, the directional signal 30 directlyannounces its transmitted direction by including the directioninformation as an angle encoded within the directional signal 30. Insome cases, the direction-dependent signal might not be a time-dependentsignal. In other cases, the directional signal 30 is both atime-dependent signal and a direction-dependent signal.

Additionally, the directional signal 30 may be continuous or,alternatively, discrete. If continuous, a received signal 40 will appearto be rising as the transmit direction of the directional signal 30approaches the bearing between the wireless network node 100 and themobile device 200. Later, the received signal 40 will appear to befalling as the transmit direction deviates from the bearing. If thedirectional signal 30 is discrete, the received signal 40 will appear assteps having amplitudes that are greater when the signal is transmittedtowards the mobile device 200.

FIG. 9A shows a signal power received at a mobile device 200. The signalpower may be referred to as a received signal strength indication(RSSI). If the directional signal 30 transmitted by the wireless networknode 100 is a continuously sweeping signal, the mobile device 200 willreceive a signal 40 that ramps up as the signal direction is aimedtowards the mobile device 200 and ramps down as the signal direction isaimed away. At time t_(i)=t_(MAX), the mobile device 200 receives amaximum signal power P_(MAX). As shown in the example received signalpower graph, P_(MAX) occurs at a time just after time t₂.

FIG. 9B shows a signal power received at a mobile device 200 when thewireless network node 100 transmits a discrete directional signal 30.The wireless network node 100 continuously transmits a directionalsignal 30-1 in a first fix direction for a discrete duration thenadvances to transmit the directional signal 30-2 in a second fixdirection for the next discrete duration. The mobile device 200 receivesa signal 40 as steps, where each step gains in power as the directionalsignal 30 is directed closer and closer towards the mobile device 200and each steps looses power as the signal direction heads away from themobile device 200. Examining just the step with the maximum signal powerP_(MAX), the mobile device 200 determines time t_(i)=t_(MAX). This timet_(MAX) correlates to the bearing between the wireless network node 100to the mobile device 200.

As shown, t_(i)=t_(MAX) is centered on the maximum step. Alternatively,t_(MAX) may be determined based on more than the maximum step such asweighting the magnitudes of side steps, for example by a low passfilter. For example, since the second large step lags the maximum step,t_(MAX) may be weighted to a time later than the center of the maximumstep. Alternatively, center points of several step may be used toextrapolate a curve 42 and the maximum point of that curve may be usedto set t_(MAX).

FIG. 10 shows a correlation of various positioning measurements, inaccordance with some embodiments of the present invention. For clarity,a body reference system is assumed to be inline with gravity (i.e.,A=(0,0,A_(Z))_(BRS)), therefore, the X-Y vector plot represents atop-down view of the body in the horizontal plane; however, the body ofthe wireless network node 100 is assumed to be arbitrarily rotated withrespect to the local reference system. The angle formed between the Xaxis of the body and magnetic north N_(MAG) 250 is referred to as thebody rotation β. The angle formed between magnetic north N_(MAG) 250 andtrue north 254 is referred to as magnetic declination δ 256.

Each time {t_(i)} represents an angle of the transmitted signal {θ_(i)}such that θ_(i)=f(t_(i)). For example, at a first time t₁, a directionalsignal 30-1 is transmitted at an angle θ₁ (represented by vector 258),at a second time t₂, the directional signal 30-2 is transmitted at anangle θ₂ (represented by vector 260), and at a third time t₃, thedirectional signal 30-3 is transmitted at an angle θ₃ (represented byvector 262). The function f(t_(i)) may be either continuous (representedby curve 40 illustrated in FIG. 9A) or discrete represented by curve 40illustrated in FIG. 9B).

FIG. 11 shows an example table containing times and heading values for atime-dependent directional signal 30, in accordance with someembodiments of the present invention. The table represents a directionalsignal 30 sweeping 360° in uniform steps of 30°. Alternatively, adirectional signal 30 may be swept to cover less than a full 360° circleand may also have steps smaller or larger than 30° or have non-uniformsteps. For example, a wireless network node 100 may transmit a discretedirectional signal 30 sweeping 360° in uniform steps of 45°.Alternatively, the wireless network node 100 may transmit a discretesignal sweeping 180° in uniform steps of 15°. Alternatively, thewireless network node 100 may transmit a discrete directional signal 30sweeping in non-uniform steps over 180° dependent on limitations of thetransmitting hardware and antenna configuration.

FIG. 12 shows a correlation of various parameters and variables usedduring position location, in accordance with some embodiments of thepresent invention. The parameters and variables include: (1) magneticdeclination δ 256, which is the angle formed in the horizontal planebetween true north N_(TRUE) 254 and magnetic north N_(MAG) 250, and is afunction of location on the Earth; (2) body rotation β 252, which is theangle formed between the X axis and magnetic north N_(MAG) 250 and is afunction of measurements from the magnetometer 150 and the accelerometer160; (3) magnetic north N_(MAG) 250, which is also a function ofmeasurements from the magnetometer 150 and the accelerometer 160; (4)bearing Θ_(i) 264, which is the bearing from the wireless network node100 and the mobile device 200 based on the body reference system, and isa function of at time t_(i); (5) true bearing Φ_(i) 266, which is thetrue bearing from the wireless network node 100 to the mobile device 200independent of the body position, and is a function of body rotation β252 and bearing Θ_(i) 264; and (6) distance d 270, which is the distancebetween the wireless network node 100 and the mobile device 200, and isa function of signal delay.

FIG. 13 illustrates one possible flow of parameters used in determininga location of a mobile device based on a time-dependent directionalsignal 30, measurements from sensors and supplementary data, inaccordance with some embodiments of the present invention.

At 300, the location of the mobile device 200 is determined based onpredetermined parameters: (1) location (loc) of the wireless networknode 100; (2) a distance d; and (3) a local bearing Φ_(MAX). Theseparameters may be determined independently and as follows.

At 310, location (loc) of the wireless network node 100 is set manually,read from a lookup table or determined using a position locationtechnique. This location is typically an absolute location withreference to the local reference system. In this case, a computedlocation of the mobile device 200 may be represented independently fromthe location of the wireless network node 100. Alternatively, if anabsolute location of the wireless network node 100 is unknown, arelative location of the mobile device 200 is determined based onlocation (loc) and distance d resulting in a position of the mobiledevice 200 that is relative to the position of the wireless network node100.

At 320, the distance d is determined. This distance d represents aline-of-sight distance between the wireless network node 100 and themobile device 200. The distance d may be determined in a variety ofways. For example, the wireless network node 100 may determine the timeit takes to transmit and receive a round-trip signal accounting fordelays inherent in the mobile device 200. Alternatively, the distancemay be determined by a processor on the mobile device based on a one-waysignal, a phase offset and/or time difference of arrival. In some cases,the wireless network node 100 and the mobile device 200 may havesynchronized clocks. With synchronized clocks, the network node 100 maytransmit a one-way signal to the mobile device 200. The mobile device200 determines a time difference between (1) when the one-way signal wastransmitted and (2) when it was received. Based on the round-trip,one-way time, phase offset and/or time difference of arrival, a distancemay be determined (e.g., from d=c*t, where c is the speed of light and tis the determined time).

To determine a local bearing Φ_(MAX), a sequence begins with thewireless network node 100 transmitting a time-dependent directionalsignal 30 at a number of body bearings {Θ_(j)}. The body bearings{Θ_(j)} each represent an angle with respect to the body referencesystem of the wireless network node 100 transmitting the directionalsignal 30. Each body bearing Θ_(j) also correspond to a local bearingΦ_(j). The local bearings {Φ_(j)} represent cardinal directions at times{t_(j)} that the wireless network node 100 transmits the time-dependentdirectional signal 30 in the {Φ_(j)} direction. For example, thewireless network node 100 may transmit the directional signal 30 atbearing Φ_(j)=Θ_(j)+N_(TRUE)=(j−1)*30+N_(TRUE) [in degrees] at timet_(j)=(j−1)/12 [in seconds] at index j=1 to 12. Alternatively or inaddition to, the directional signal 30 may be a directional-dependentsignal encoding a transmitted direction within the directional signal30.

At 330, the mobile device 200 receives this directional signal 30 asreceived signal 40 having variable signal strength. Once received, themobile device 200 determines a time t_(MAX) of a maximum point of thereceived signal 40. The maximum point may be based on a maximum signalpower or signal strength, for example, represented numerically from adigitized voltage or current. The maximum signal is determined to occurat a time t_(MAX), which is assumed as explained below to correlate to alocal bearing Φ_(MAX) representing a heading or bearing from wirelessnetwork node 100 to the mobile device 200. This time t_(MAX) alsocorresponds to a body bearing Θ_(MAX). The body bearing Θ_(MAX)represents a heading in a body reference system of the directionalsignal 30 from the wireless network node 100. In general, the bodybearing Θ_(i) indicates an angle with respect to the body referencesystem and is independent of the local reference system.

At 340, this time t_(MAX) is converted from a time to an angle Θ_(MAX).It is assumed the variable signal strength of the received signal 40represents an angle offset between: (1) the transmitted signal localbearing Φ_(j); and (2) an actual bearing formed from the wirelessnetwork node 100 to the mobile device 200. When the signal is at maximumvalue, this angle offset is at minimum value. Therefore, the angleΘ_(MAX) represents the bearing closed to an actual bearing in the bodyreference system. The body bearing Θ_(i) may be determined indirectlyfrom a table or a formula as described above. For example, assume thedirectional signal 30 is a time-dependent signal continuously rotatingat a rotation rate R_(ROTATION) of 360 degrees per second where areference time t_(REF) represents a time the directional signal 30 wastransmitted at 0 degrees (due north). If t_(MAX) represents an absolutetime, the body bearing Θ_(MAX) equals mod{(t_(MAX)−t_(REF))*360*R_(ROTATION),360} [in degrees]. If t_(MAX)represents a relative time from t_(REF), the body bearing Θ_(i) equalsmod((t_(MAX))*360*R_(ROTATION),360).

At 350, a local bearing Φ_(MAX) may be determined from the body bearingΘ_(MAX). This local bearing Φ_(MAX) is relative to a predeterminedreference direction such as magnetic north N_(MAG) or alternatively truenorth N_(TRUE). If true north N_(TRUE) is available, the local bearingΦ_(MAX) represents a direction relative to true north. If true northN_(TRUE) is not available, the local bearing Φ_(MAX) represents adirection relative to magnetic north. The local bearing Φ_(MAX) iscomputed by translating the body bearing Θ_(MAX) using a body rotation β(or rotation matrix R) and the reference direction. In some cases, thetime t_(MAX) is converted to a body bearing, which is in turn convertedto a local bearing. In other cases, t_(MAX) is converted directly to alocal bearing.

At 360, a body rotation β is determined as described above based onmagnetometer measurement M (M_(X),M_(Y),M_(Z)) from the magnetometer 150and accelerometer measurement A (A_(X),A_(Y),A_(Z)) from theaccelerometer 160. As explained above, the body rotation β is used totranslate between a body reference system and a local reference systemand may be represented by a rotation matrix. The accelerometermeasurements A are used to determine when the wireless network node 100is at rest and, when at rest, are used to determine a direction ofgravity relative to the body of the wireless network node 100. Themagnetometer measurements M form two components in a body referencesystem as described above. One component is parallel to the direction ofgravity and a second component is perpendicular to the direction ofgravity. This perpendicular component represents magnetic north N_(MAG).The angle formed between the magnetometer measurements M and theperpendicular component defines the magnetic inclinations δ. Based onmeasurements A and M in the BRS and assumptions guarding the LRS, bodyrotation β is determined A first component of the body rotation accountsfor a rotational offset between the body's Z axis and the gravityvector. A second component of the body rotation accounts for arotational offset about the gravity vector to align the X axis withmagnetic north N_(MAG). Once determined, the body rotation β may be usedto determine the rotation matrix R and to translate vectors in the bodyreference system to vectors in the local reference system.

At 370, a reference direction is determined from at least themagnetometer measurements M. For example, a reference direction may bemagnetic north N_(MAG), which may be estimated from M. Accelerometermeasurements A may enhance this reference direction. For example, onlymagnetometer measurements M perpendicular to the accelerometermeasurements A are used. Alternatively, the reference direction isdetermined from the magnetometer measurements M in combination with amagnetic declination δ. In this case, the reference direction is truenorth N_(TRUE).

At 380, the magnetic declination δ may be determined based on thelocation (loc) of the wireless network node 100 provided by 310. Forexample, a lookup table may be used to set the declination δ based onthe location. Alternatively, the magnetic declination δ may be setmanually and saved during installation of the wireless network node 100.

Each of the above-described steps may be performed in one or either ofthe wireless network node 100 and the mobile device 200. In someembodiments, a step is performed in either the wireless network node 100or the mobile device 200. In some embodiments, a step is partiallyperformed in the wireless network node 100 and partially performed themobile device 200. To illustrate a variety of implementations, severalembodiments are described below.

FIGS. 14 and 15 show flow diagrams for determining a location of amobile device 200, in accordance with some embodiments of the presentinvention. These flow diagrams are shown as operations performed insteps, however, not all are necessary and not necessarily shown in achronological order. FIG. 14 shows a process performed in a wirelessnetwork node 100.

At 400, the wireless network node 100 uses accelerometer measurementsfrom the accelerometer 160 to sense if the wireless network node 100 isstationary.

At 410, the wireless network node 100 determines and saves it location.

At 420, the wireless network node 100 senses its orientation based onmagnetometer and accelerometer measurements. Based on thesemeasurements, the wireless network node 100 may determine its bodyrotation β and/or a rotation matrix.

At 430, the wireless network node 100 receives a location assistancerequest message 600 sent by a mobile device 200. The request message 600may include a time-synchronization communication signal and/or around-trip delay (RTD) signal for estimating elapsed time.

At 440, the wireless network node 100 begins transmitting a directionalsignal 30. The wireless network node 100 may transmit the directionalsignal 30 periodically, continuously, on request or in response to acondition. For example, the wireless network node 100 may begintransmitting the directional signal 30 based on receiving a locationassistance request message 600. The mobile device 200 receives thedirectional signal 30 as received signal 40. The mobile device 200determines a peak of the received signal 40 and a corresponding timet_(MAX) of the signal peak.

At 450, the wireless network node 100 receives this time t_(MAX) fromthe mobile device 200. In some cases, the time t_(MAX) may be acomponent of the location request message, for example, if not needed toinitiate transmission of the directional signal 30.

At 460, the wireless network node 100 uses the time t_(MAX) to determinea local bearing Φ_(MAX) or a body bearing Θ_(MAX) based on t_(MAX) andknowing what direction it transmitted the directional signal 30 at timet_(MAX).

At 470, the wireless network node 100 determines distance d between thewireless network node 100 and the mobile device 200 (e.g., usingroundtrip delay). Alternatively, the mobile device 200 determines thisdistance and sends it to the wireless network node 100.

At 480, the wireless network node 100 uses the local bearing Φ_(MAX),the distance d and the location of the wireless network node 100 todetermine a location of the mobile device 200. The wireless network node100 may then transmit the determined location to mobile device 200.

FIG. 15 shows a corresponding process performed in a mobile device 200.At step 500, the mobile device 200 determines it is in a GNSS-deprivedarea. If not in a GNSS-deprived area, the mobile device 200 could use aGNSS service such as from GPS satellites. When in a GNSS-deprived area,the mobile device 200 must uses other means to determine its location.

At step 510, the mobile device 200 sends location assistance requestmessage 600 from mobile device 200 to the wireless network node 100.This message may be sent to initiate transmission of the directionalsignal 30. Alternatively, this message may contain the time t_(MAX)described below.

At step 520, the mobile device 200 receives a directional signal 30 asreceived signal 40.

At step 530, the mobile device 200 determines a time t_(MAX)representing a time when a signal peak of the signal 40 was received.

At step 540, the mobile device 200 sends the determined time t_(MAX) towireless network node 100. In some cases, the determined time t_(MAX) isincluded as part of the location assistance request message 600 orincluded in a separate message 610.

At step 550, the mobile device 200 receives the location of mobiledevice 100 as determined wireless network node 100 based on thedetermined time t_(MAX).

FIGS. 16A, 16B, 16C and 16D illustrate process and signaling flowbetween a wireless network node 100 and a mobile device 200, inaccordance with some embodiments of the present invention. In FIG. 16A,the wireless network node 100 determines the location of the mobiledevice 200 based on a peak time measurement from the mobile device 200.

At 500, the mobile device 200 determines it is in a GNSS-deprived area.The mobile device 200 sends a location assistance request message 600 tothe wireless network node 100.

At 440, the wireless network node 100 transmits a directional signal 30.In some embodiments, the transmission of the directional signal 30 isindependent of reception of a location assistance request message 600.In other embodiments, reception of a location assistance request message600 triggers the transmission of the directional signal 30.

At 530, the mobile device 200 receives the directional signal 30 asreceived signal 40 and determines a time t_(MAX) when a signal peakoccurs in the received signal 40. The mobile device 200 sends thedetermined time t_(MAX) to the wireless network node 100 as message 610.In some embodiments, messages 600 and 610 are combined into a singlemessage.

At 460, the wireless network node 100 determines a bearing from thewireless network node 100 to the mobile device 200 based on thedetermined time t_(MAX). At 470, the wireless network node 100determines a distance d between the wireless network node 100 and themobile device 200. At 480, the wireless network node 100 determines thelocation of the mobile device 200 based on the determined bearing anddetermined distance. The wireless network node 100 may use this locationinformation internally and/or send it to a third party and/or send it tothe mobile device 200 as message 650.

In FIG. 16B, the mobile device 200 determines a bearing, a distance andits location based on a location of the wireless network node 100.

At 500, the mobile device 200 determines it is in a GNSS-deprived area.The mobile device 200 sends a location assistance request message 600 tothe wireless network node 100. If transmission of the directional signal30 is independent from the location assistance request message 600, thismessage 600 may be omitted.

At 440A, the wireless network node 100 transmits a directional signal30, and at 530A, the mobile device 200 receives the signal as receivedsignal 40. In some embodiments, the directional signal 30 directly orindirectly contains direction information. In other embodiments, thedirection information is contained in a separate message (not shown).Such direction information is used by the mobile device 200 to determinea bearing of transmission of the directional signal 30. In someembodiments, the directional signal 30 is a direction-dependentdirectional signal where it directly announces a direction. In thiscase, the directional signal 30 includes direction information as anangle encoded within the directional signal 30. For example, when thedirectional signal 30 is transmitted at a bearing of 180 degrees, thesignal may include a value representing “180 degrees” within thedirectional signal 30. Alternatively, the direction information mayindirectly indicate a function that maps a time and the signaldirection. For example, the direction information may include areference time the directional signal 30 is transmitted in a particulardirection and may also include a rate of rotation. With this informationthe mobile device 200 may determine the direction the received signal 40was transmitted at a particular time. In message 620, the wirelessnetwork node 100 sends its location to the mobile device 200. Themessage 620 may include a latitude-longitude pair or other dataindicating the location of the wireless network node 100. The mobiledevice 200 uses this location when determining the location of themobile device 200. In some embodiments, message 620 also contains thedirection information.

At 460, the mobile device 200 determines a bearing from the wirelessnetwork node 100 to the mobile device 200 based on the received signal40 and the direction information. At 470, the mobile device 200determines a distance d between the wireless network node 100 and themobile device 200. At 480, the mobile device 200 determines the locationof the mobile device 200 based on the determined bearing and determineddistance. In some embodiments, the mobile device 200 sends thedetermined location to the wireless network node 100 in a message 660.The message 660 may also include a latitude-longitude pair or other dataindicating the location of the mobile device 200.

In FIG. 16C, the wireless network node 100 determines a bearing from thewireless network node 100 to the mobile device 200 based on a peak timemeasurement from the mobile device 200. In addition, the mobile device200 determines a distance between the wireless network node 100 and themobile device 200, and determines its location based on a location ofthe wireless network node 100.

At 500, the mobile device 200 determines it is in a GNSS-deprived area.At 440A, the wireless network node 100 transmits a directional signal30. The wireless network node 100 transmits independently from receivinga message from a mobile device 200.

At 530, the mobile device 200 receives the directional signal 30 asreceived signal 40 and determines a time t_(MAX) when a peak occurs inthe received signal 40. The mobile device 200 sends a locationassistance request message 600 to the wireless network node 100. Themobile device 200 also sends the determined time t_(MAX) to the wirelessnetwork node 100 as message 610. In some embodiments, messages 600 and610 are combined into a single message.

At 460, the wireless network node 100 determines a bearing from thewireless network node 100 to the mobile device 200 based on thedetermined time t_(MAX). At 470, the mobile device 200 determines adistance d between the wireless network node 100 and the mobile device200. In message 620, the wireless network node 100 sends its location tothe mobile device 200. In message 630, the wireless network node 100also sends the determined bearing to the mobile device 200. Messages 620and 630 may be a signal message with multiple parameters.

At 480, the mobile device 200 determines the location of the mobiledevice 200 based on the determined bearing and determined distance. Insome embodiments, the mobile device 200 sends the determined location tothe wireless network node 100 in a message 660.

In FIG. 16D, the wireless network node 100 determines a distance betweenthe wireless network node 100 and the mobile device 200, and the mobiledevice 200 determines a bearing and its location.

At 500, the mobile device 200 determines it is in a GNSS-deprived area.The mobile device 200 sends a location assistance request message 600 tothe wireless network node 100. At 440A, the wireless network node 100transmits a directional signal 30. At 530, the mobile device 200receives the directional signal 30 as received signal 40 and determinesa time t_(MAX) when a peak occurs in the received signal 40. The mobiledevice 200 sends the determined time t_(MAX) to the wireless networknode 100 as message 610. In some embodiments, messages 600 and 610 arecombined into a single message.

At 460, the mobile device 200 determines a bearing from the wirelessnetwork node 100 to the mobile device 200 based on the received signal40 and the direction information. At 470, the wireless network node 100determines a distance d between the wireless network node 100 and themobile device 200. The wireless network node 100 sends this determineddistance to the mobile device 200 in message 640.

At 480, the mobile device 200 determines the location of the mobiledevice 200 based on the determined bearing and determined distance. Insome embodiments, the mobile device 200 sends the determined location tothe wireless network node 100 in a message 660.

The methods described above determine a location of a mobile device 200based on interactions with as few as a single wireless network device100 transmitting a directional signal 30. The mobile device 200 and thesingle wireless network device 100 communicate with one another indetermining a location of the mobile device 200 based on: (1) a distanceto the wireless network device 100; (2) a bearing between the mobiledevice 200 and the wireless network device 100; and (3) a location ofthe wireless network device 100.

FIGS. 17 and 18A-D illustrate applications of triangulation, inaccordance with some embodiments of the present invention.

FIG. 17 illustrates a method to determine a location of a mobile device200 based on receiving directional signals 30 as received signals 40from two wireless network devices 100-1, 100-2 each transmitting adirectional signal 30-1, 30-2. The mobile device 200 may autonomouslydetermine a location of the mobile device 200 based on: (1) a bearing266-1 to a first of the two of wireless network devices 100-1; (2) abearing 266-2 to a second of the two of wireless network devices 100-2;and (3) locations of the two of wireless network devices 100. Here, twowireless access devices 100-1, 100-2 are used to triangulate a locationof a mobile device 200 based on two bearings 266-1, 266-2. When usingtwo or more wireless network devices 100 within range of the mobiledevice 200, the mobile device 200 may be passive. When passive, themobile device 200 determines its location based on only signalsreceived. That is, the mobile device 200 may determine its locationwithout transmitting messages to the wireless access devices 100.

In general, a mobile device 200 may determine its location based onbearings from and locations of a plurality of wireless network nodes100. Each of the locations and bearing define a corresponding vector. Anintersection of a these vectors identifies the location of the mobiledevice 200. As shown, each vector has a tail representing the locationof the corresponding wireless network node 100, a head representing thelocation of the mobile device 200, and an angle representing the bearing266 from the corresponding wireless network node 100 to the mobiledevice 200.

A process to determine a location of a mobile device 200 begins byobtaining the locations of the wireless network nodes 100. Theselocations may be broadcast on one or more overhead or broadcastchannels. Alternatively, the locations may be stored in a table,preloaded or accessible by the prior to determining the location of themobile device 200. Alternatively, the locations may be obtained afterone or more or all of the bearings 266 are determined.

The processes to determine the location of the mobile device 200continues by determining a bearing 266 from each of the plurality ofwireless network node 100 to the mobile device 200. The bearing 266 maybe determined as described above using a directional signal 30 and usingone-way or roundtrip timing. For example, a first wireless network node100-1 transmits a first directional signal 30-1 and a second wirelessnetwork node 100-2 transmits a second directional signal 30-2. Thesedirectional signals 30-1 and 30-2 may be synchronous or asynchronouswith each other. Each transmitted directional signal 30 indicates thedirection the signal is being transmitted at that moment eitherindirectly (e.g., predetermined formula) or directly (e.g., an announceddirection) as described above. The mobile device 200 then determinesbearings 266-1 and 266-1 of the corresponding transmitted directionalsignals 30-1 and 30-2 where the received signal 40 has correspondingmaximum values. The transmitted signal may also include an identifier toidentify and distinguish the wireless network nodes 100. For example,the identifier may be a node identifier, SSID, MAC address, serialnumber or the like.

The processes to determine the location of a mobile device 200 continuesby determining an intersection of vectors formed from the obtainedlocations and the determined bearings. The mobile device 200 may formtwo or more vectors based on the locations (vector tails) and thebearings (vector angles 266) of each wireless network node 100. Next,the mobile device 200 determines a point of intersection of the vectors.This point represents the location of the mobile device 200. Forexample, if the mobile device 200 detects two wireless network nodes 100from which it defines two vectors based on a location and bearing 266for each wireless network node 100, the intersection of the two vectorswill define a single point that represents the location of the mobiledevice 200. On the other hand, if the mobile device 200 detects three ormore wireless network nodes 100 and defines a corresponding three ormore vectors, the intersection of the vectors may not result in a singleintersecting point but rather may define an area. In this case, themobile device 200 may compute a point that provides a least mean squared(LMS) error. This LMS error point will represent the location of themobile device 200. Alternately, in another embodiment, the mobile devicemay use the centroid of the defined area as its location.

FIG. 18A illustrates a method to determine a location of a mobile device200 based on received signals 40 from at least two wireless networkdevices 100 where at least one transmits a directional signal 30. Themobile device 200 may autonomously determine a location of the mobiledevice 200 based on: (1) a distance 270-1 to a first of the plurality ofwireless network devices 100-1; (2) a bearing 266-2 between the mobiledevice 200 and a second of the plurality of wireless network devices100-2; and (3) locations of the plurality of wireless network devices100-1 and 100-2. The distance 270-1 may be determined as described above(e.g., based on a one-way or roundtrip signal delay). Also, the bearing266-2 may be determined based on a directional signal 30, which may be atime-dependent signal and/or a direction-dependent signal as discussedabove. Similarly, the locations of the wireless access devices 100 maybe determined as discussed above.

In general, two or more wireless access devices 100 are used totriangulate a location of a mobile device 200 based on one or morebearings to one or more wireless access devices 100 and distances to oneor more other wireless access devices 100. The mobile device 200determines its location based on a vector formed by the bearing 266-2from the second wireless access devices 100-2 and a circle formed aroundthe first wireless access devices 100-1 where the circle has a radiusequal to the distance 270-1.

As shown in FIG. 18B, if the vector and circle do not intersect, alocation of the mobile device 200 may be set to a point halfway alongthe shortest line perpendicular to the vector and perpendicular to thecircle. This point is shown as 200A. In other embodiments, the locationof the mobile device 200 will be on vector 30-2. This point is shown as200B. In still other embodiments, the location of the mobile device 200will be at the distance 270-1 at a point closest to the vector 30-2.This point is shown as 200C. Alternatively, if the vector and circle donot intersect, a location of the mobile device 200 may be set to a pointalong the shortest line perpendicular to the vector and perpendicular tothe circle (a line formed from point 200B to 200C) weighted by theuncertain of the distance 270-1 and the uncertainty of the bearing266-2. For example, if the bearing 266-2 has low uncertainty and thisdistance 270-1 has high uncertainty, the location of the mobile device200 will be closer to vector 30-2.

As shown in FIG. 18C, if the vector and circle intersect at a singlepoint, a location of the mobile device 200 may be set to thisintersecting point.

As shown in FIG. 18D, if the vector and circle intersect at two points,a location of the mobile device 200 may be set to the closerintersecting point (200A), the more distant intersecting point (200B),the point between the intersecting points at the distance 270-1 (200C),directly between the intersecting points (200D), a point halfway between200C and 200D, or a point between 200C and 200D weighted by theuncertainty of the distance 270-1 and the uncertainty of the bearing266-2. In some embodiments, indication may be provided regarding whichmethod to use with a given wireless access device based upon theposition of the wireless access device relative to structures.

The previous description of the disclosed aspects is provided to enableany person skilled in the art to make or use the present disclosure.Furthermore, the methods described above may be stored as program codeon a computer-readable medium or in a device's memory as softwareinstructions to perform the method. Various modifications to theseaspects will be readily apparent to those skilled in the art, and thegeneric principles defined herein may be applied to other aspectswithout departing from the spirit or scope of the disclosure.

1. A method for determining a location of a mobile device, the methodcomprising: receiving, at the mobile device, a directional signal;determining a bearing based on a maximum signal received at the mobiledevice; and determining the location of the mobile device based on thebearing.
 2. The method of claim 1, further comprising sending, from themobile device and to the wireless network node, a request to begintransmitting the directional signal.
 3. The method of claim 2, furthercomprising determining the mobile device is in a GNSS-deprived area. 4.The method of claim 2, wherein the bearing at time (t_(MAX)) and themethod further comprising sending, from the mobile device and to thewireless network node, the time (t_(MAX)).
 5. The method of claim 1,wherein the location of the mobile device comprises a latitude-longitudepair of the mobile device.
 6. The method of claim 1, further comprising:determining the location of the mobile device based on a location of thewireless network node and a time (t_(MAX)); wherein the location of themobile device comprises the location of the wireless network node. 7.The method of claim 6, wherein: the location of the mobile devicefurther comprises the bearing between the wireless network node and themobile device, wherein the bearing is determined based on the time(t_(MAX)); and the act of determining the location of the mobile deviceis further based on the bearing.
 8. The method of claim 6, furthercomprising determining the bearing between the wireless network node andthe mobile device, wherein the bearing is determined based on the time(t_(MAX)).
 9. The method of claim 6, further comprising determining adistance between the wireless network node and the mobile device. 10.The method of claim 1, wherein the directional signal comprises atime-dependent directional signal wherein the bearing information of thedirectional signal is a function of time.
 11. The method of claim 10,wherein the directional signal further comprises a direction-dependentdirectional signal wherein the bearing information is encoded in thedirection-dependent directional signal.
 12. The method of claim 1,wherein the directional signal comprises a direction-dependentdirectional signal wherein the bearing information is encoded in thedirection-dependent directional signal.
 13. The method of claim 1,further comprising determining a distance between the wireless networknode and the mobile device.
 14. The method of claim 1, wherein the actof determining the location of the mobile device based on the bearingcomprises: transmitting the bearing to a wireless network node; andreceiving, from a wireless network node, the location of the mobiledevice computed based on the bearing.
 15. The method of claim 1, whereinthe act of determining the location of the mobile device based on thebearing comprises computing, at the mobile device, the location of themobile device based on the bearing.
 16. A method for determining alocation of a mobile device, the method comprising: transmitting adirectional signal from a wireless network node; and transmitting, fromthe wireless network node and to the mobile device, the location of themobile device.
 17. The method of claim 16, further comprising receiving,at the wireless network node and from the mobile device, a request tobegin transmitting the directional signal.
 18. The method of claim 17,wherein the request comprises a time-synchronization communicationsignal for estimating elapsed time.
 19. The method of claim 17, whereinthe request comprises at least part of a round-trip delay (RTD) signalfor estimating elapsed time.
 20. The method of claim 16, wherein thelocation of the mobile device comprises a latitude-longitude pair. 21.The method of claim 16, further comprising receiving, at the wirelessnetwork node and from the mobile device, a time (t_(MAX)) a maximumsignal is received at the mobile device.
 22. The method of claim 21,further comprising: determining the location of the mobile device basedon a location of the wireless network node and the time (t_(MAX)); andwherein the location of the mobile device comprises the location of themobile device.
 23. The method of claim 21, further comprisingdetermining, at the wireless network node, a bearing between thewireless network node and the mobile device based on the time (t_(MAX)).24. The method of claim 23, wherein the location of the mobile devicefurther comprises the bearing.
 25. The method of claim 16, furthercomprising determining a distance between the wireless network node andthe mobile device.
 26. The method of claim 16, further comprisingsensing the wireless network node is stationary based on accelerometermeasurements.
 27. The method of claim 16, further comprising sensingwireless network node orientation based on magnetometer measurements.28. The method of claim 27, wherein the act of sensing wireless networknode orientation is further based on accelerometer measurements.
 29. Themethod of claim 16, wherein the directional signal comprises atime-dependent directional signal wherein bearing information of thedirectional signal is a function of time.
 30. The method of claim 29,wherein the directional signal further comprises a direction-dependentdirectional signal wherein bearing information is encoded in thedirection-dependent directional signal.
 31. The method of claim 16,wherein the directional signal comprises a direction-dependentdirectional signal wherein bearing information is encoded in thedirection-dependent directional signal.
 32. A mobile device, the devicecomprising: means for receiving, at the mobile device, a directionalsignal; means for determining a bearing based on a maximum signalreceived at the mobile device; and means for determining the location ofthe mobile device determined based on the bearing.
 33. The mobile deviceof claim 32, further comprising means for determining a distance betweenthe wireless network node and the mobile device.
 34. A wireless networknode, the node comprising: means for transmitting a directional signalfrom a wireless network node; and means for transmitting, from thewireless network node and to the mobile device, the location of themobile device.
 35. The mobile device of claim 34, further comprisingmeans for determining a distance between the wireless network node andthe mobile device.
 36. A mobile device comprising a processor and amemory wherein the memory includes software instructions to: receive, atthe mobile device, a directional signal; determine a bearing based on amaximum signal received at the mobile device; and determine the locationof the mobile device determined based on the bearing.
 37. Acomputer-readable medium including program code stored thereon,comprising program code to: receive, at the mobile device, a directionalsignal; determine a bearing based on a maximum signal received at themobile device; and determine the location of the mobile devicedetermined based on the bearing.
 38. A method for determining a locationof a mobile device, the method comprising: obtaining a first location ofa first wireless network node; obtaining a second location of a secondwireless network node; receiving a first directional signal from thefirst wireless network node; determining a first bearing from the firstwireless network node to the mobile device based on the firstdirectional signal; determining a distance between the second wirelessnetwork node and the mobile device; and computing the location of themobile device based on the first and second locations, the first bearingand the distance.
 39. The method of claim 38, further comprising:determining a time (t_(MAX)) a maximum signal is received at the mobiledevice; wherein the act of determining the first bearing is based on thedetermined time (t_(MAX)).
 40. The method of claim 38, furthercomprising: obtaining a third location of a third wireless network node;and determining a second bearing from the mobile device to the thirdwireless network node based on a direction-dependent directional signaltransmitted by the third wireless network node; wherein the act ofcomputing the location of the mobile device is further based on thesecond bearing and the third location.
 41. The method of claim 38,further comprising: obtaining a third location of a third wirelessnetwork node; and determining a second distance from the third wirelessnetwork node to the mobile device; wherein the act of computing thelocation of the mobile device is further based on the second distanceand the third location.
 42. The method of claim 38, wherein the mobiledevice is passive wherein the location of the mobile device is computedbased on only signals received at the mobile device.
 43. The method ofclaim 38, wherein the first directional signal comprises atime-dependent directional signal wherein first bearing information ofthe first directional signal is a function of time.
 44. The method ofclaim 43, wherein the first directional signal further comprises adirection-dependent directional signal wherein first bearing informationis encoded in the direction-dependent directional signal.
 45. The methodof claim 38, wherein the directional signal comprises adirection-dependent directional signal wherein first bearing informationis encoded in the direction-dependent directional signal.
 46. A methodfor determining a location of a mobile device, the method comprising:obtaining a first location of a first wireless network node; obtaining asecond location of a second wireless network node; receiving a firstdirectional signal from the first wireless network node; receiving asecond directional signal from the second wireless network node;determining a first bearing from the first wireless network node to themobile device based on the first directional signal; determining asecond bearing from the second wireless network node to the mobiledevice based on the second directional signal; and computing thelocation of the mobile device based on the first and second locationsand the first and second bearings.
 47. The method of claim 46, furthercomprising: determining a time (t_(MAX)) a maximum signal is received atthe mobile device; wherein the act of determining the first bearing isbased on the determined time (t_(MAX)).
 48. The method of claim 46,wherein the mobile device is passive wherein the location of the mobiledevice is computed based on only signals received at the mobile device.49. The method of claim 46, wherein the first directional signalcomprises a time-dependent directional signal wherein first bearinginformation of the first directional signal is a function of time. 50.The method of claim 49, wherein the first directional signal furthercomprises a direction-dependent directional signal wherein first bearinginformation is encoded in the direction-dependent directional signal.51. The method of claim 46, wherein the first directional signalcomprises a direction-dependent directional signal wherein first bearinginformation is encoded in the direction-dependent directional signal.